home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok33.lha
/
SetTool
/
With.dok
< prev
next >
Wrap
Text File
|
1993-08-15
|
4KB
|
139 lines
W I T H
=============
1988 by Fridtjof Siebert.
Nobileweg 67
7000 Stuttgart-40
Was?
`WITH' ist ein leistungsstarker CLI-Befehl, der es leicht ermöglicht,
beliebige CLI Befehle auf alle Dateien anzuwenden, die zu einem
Namensmuster, wie z.B. "#?.mod", passen.
Arp?
Um WITH nicht unnötig lang zu machen (indem ich InOut, Arguments etc.
importier'), benutzt WITH Routinen der arp.library. Wer ARP noch nicht
installiert hat, sollte sich also die arp.library in sein LIBS: Directory
kopieren.
Wie?
Usage: WITH <Muster> <Commando> [TO File] [ALL] [DIRS] [FILES] [SHOW]
Werden falsche Argumente übergeben, gibt WITH die Usage aus.
Muster:
Ein ist ein beliebiges, das von ARP interpretiert werden kann, wie
z.B. *.in?o.
Commando:
Commando kann irgendein CLI Befehl sein, oder auch mehrere Befehle
mit Optionen. Die Stellen, an denen der Filename eingesetzt werden
soll, werden durch "$" gekennzeichnet. Es können auch mehrere
Commandos angegeben werden. Sie müssen dann durch Strichpunkte, wie
in Modula, von einander getrennt werden.
TO File:
Optional kann hier wie bei "TYPE x TO prt:" eine Ausgabedatei
angegeben werden, in der die Ausgaben von Commando landen.
ALL:
Bewirkt, daß alle Commando auch mit allen Files als Argument
gestartet wird, die in Unterdirectories der mit dem Dateimuster
angegebenen Directories stehen.
DIRS,FILES:
DIRS und FILES bewirken, daß das Programm nur Directories bzw. nur
Files, die auf das Muster passen, berücksichtigt. Wird weder DIRS
noch FILES angegeben, so wird das Commando sowohl mit Directories,
als auch mit Dateien gestartet.
SHOW:
Ist diese Option gesetzt, wird vor der Ausführung das Commando mit
den eingestzten Filenamen ausgegeben. Somit kann man bei Befehlen,
die nichts aussgeben, wie z.B. DEL und COPY, das Geschehen verfolgen.
With kann jederzeit durch ^D, ^E oder ^F abgebrochen werden. Wiese ^C
nicht funktioniert weiß' ich nicht genau. Ich nehm' an, das liegt an
Arts.
Häh?
Da den Befehl jetzt bestimmt noch niemand verstanden hat, hier ein paar
Beispiele:
WITH *.mod TYPE
Gibt alle Dateien, die auf ".mod" enden, aus.
WITH * LIST DIRS
Listet alle Directories im aktuellen Verzeichnis.
WITH DF0: LIST ALL DIRS TO Directory
Macht in etwa das gleiche wie "DIR >Directory DF0: OPT A", nur mit
LIST.
WITH DF0: "COPY $ TO RAM:" ALL FILES SHOW
Kopiert alle Dateien aus allen Directories von DF0: in das
Root-Directory der Ramdisk. Dabei werden die ausgeführten Befehle
jeweils angezeigt.
WITH DF0:Texte/* "COPY Icons:Text.info $.info" FILES
Versieht alle Dateien in DF0:Texte mit dem Icon Icons:Text.info.
WITH DF0:* "RENAME $ AS $.txt" ALL FILES
Hängt an alle Dateien in DF0: die Endung ".txt".
WITH *.def "ECHO File $:; TYPE $"
Dies ist schon etwas komplizierter. Der Strichpunkt sorgt dafür, daß
die beiden Befehle "ECHO" und "TYPE" getrennt ausgeführt werden.
Zunächst gibt ECHO also "File " gefolgt von dem Filenamen und einem
Doppelpunkt aus. Danach wird das entsprechende File von TYPE
ausgegeben. Das Ergebnis könnte also in etwa so aussehen:
File: Grafik.def:
DEFINITION MODULE Grafik;
...
END Grafik.
File: Sound.def:
DEFINITION MODULE Sound;
...
END Sound.
Done.
Ich hatte letztens das Problem, die lauter Directories mit M2-Projekten
enthielt, die sym-, obj- und ref-Directories zu löschen, um Platz zu
schaffen. Ohne WITH wäre das sehr mühselig gewesen. Mit With geht es
ganz einfach:
WITH df0:*/??? "del $ all; del $.info" dirs
Diese eine Zeile sucht nach directories mit 3 Buchstaben und löscht
diese und ihre Icons.
WITH funktioniert auch mit beliebigen anderen Utilities und Commandos,
die keine Filemuster erlauben.
Copyright:
WITH ist Public Domain. Es darf von jedem umsonst, aber nicht kommerziell,
genutzt werden. Nur BCPL Programmierer dürfe WITH nicht benutzen!
Spenden, Briefe, Änderungsvorschläge sind immer willkommen.
Viel Spaß!
--- Fridtjof.